package com.plian.system.entity.pf;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.plian.Tools.DateUtil;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: TODO
 * @Author: Take-off
 * @Date: 2023/3/13 11:08 AM
 * @Param
 * @return
 * @Version: 1.0
 **/
@Data
@TableName("pf_base_expenditure_implementation")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BaseExpenditureImplementation 对象", description = "履职待遇、业务支出执行情况 主表")
public class BaseExpenditureImplementation extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "单据编码")
    private String code;

    @ApiModelProperty(value = "上报单位")
    private String fillingUnitId;

    @ApiModelProperty(value = "上报日期")
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
    @JsonFormat(pattern = DateUtil.PATTERN_DATE)
    private Date fillingDate;

    @ApiModelProperty(value = "执行年月")
    private String executionMonth;

    @ApiModelProperty(value = "经营用车配备及使用费")
    private BigDecimal vehicleFee;

    @ApiModelProperty(value = "通讯费")
    private BigDecimal communicationFee;

    @ApiModelProperty(value = "业务招待费")
    private BigDecimal entertainFee;

    @ApiModelProperty(value = "国（境）外考察培训费")
    private BigDecimal outsideFee;

    @ApiModelProperty(value = "差旅费（含会议费）")
    private BigDecimal tripFee;

    @ApiModelProperty(value = "合计")
    private BigDecimal totalFee;

    @ApiModelProperty(value = "经营用车配备及使用费-累计值")
    private BigDecimal vehicleFeeSum;

    @ApiModelProperty(value = "通讯费-累计值")
    private BigDecimal communicationFeeSum;

    @ApiModelProperty(value = "业务招待费-累计值")
    private BigDecimal entertainFeeSum;

    @ApiModelProperty(value = "国（境）外考察培训费-累计值")
    private BigDecimal outsideFeeSum;

    @ApiModelProperty(value = "差旅费（含会议费）-累计值")
    private BigDecimal tripFeeSum;

    @ApiModelProperty(value = "合计-累计值")
    private BigDecimal totalFeeSum;

    @ApiModelProperty(value = "审批人")
    private String approvedUser;

    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "审批时间")
    private Date approvedTime;

    @ApiModelProperty(value = "审批意见")
    private String approvedOpinion;

    @ApiModelProperty(value = "单据类型")
    private String formType;
}
